//@ts-nocheck
import { fileURLToPath, URL } from 'node:url'
import path from 'path'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import prismjs from 'vite-plugin-prismjs';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
    prismjs({
      languages: 'all',
    }),
  ],
  build: {
    sourcemap: 'inline',
  },
  base: './',  // 在生产中服务时的基本公共路径
  publicDir: 'public',  // 静态资源服务的文件夹, 默认"public"
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)),  // 这里是将src目录配置别名为 @ 方便在项目中导入src目录下的文件
      "api": path.resolve(__dirname, './src/api'), // 这里是将src/api目录配置别名为 api 方便在项目中引入接口
      'public': path.resolve(__dirname, './public'),
    }
  },
  server: {
    hot: true,  //热加载
    host: '0.0.0.0',  // 指定服务器主机名
    port: 3000,  // 指定服务器端口
    open: true,  // 在服务器启动时自动在浏览器中打开应用程序
    strictPort: false, // 设为 false 时，若端口已被占用则会尝试下一个可用端口,而不是直接退出
    https: false, // 是否开启 https
    cors: true, // 为开发服务器配置 CORS。默认启用并允许任何源
    proxy: { // 为开发服务器配置自定义代理规则
      // 选项写法
      '/api': {
        target: 'http://localhost:8000/', //代理接口
        changeOrigin: true,
      }
    }
  }
})
